Google
 

Trailing-Edge - PDP-10 Archives - walsh_goodStuff_1600 - more-uns/wordab.:ej
There is 1 other file named wordab.:ej in the archive. Click here to see a list.
 f
    [0 +8+FQ(+4)[1
0FO1 0 F"G +Q1 
'W +FQ()+4U1
FQ1"L 0'
,Q1:M(Q1+4(]1 ]0))
-7!V`DOiv
   -!
!	N	X	9	>-:APrRa+-6*8O\hwB@BG66,--9~:!t"8f8s-c-q=Y=g1P1_<k<z11 @b@qBB$*5*B)R)Z?Q?a4W4i2g2w#@#S$C$U"S"_<#<5;_;p(](l99-!H!R!<!CDQDW& Setup WORDAB Library00fo..qWORDAB SETUP HOOK[.1
q.1"N m.1w '
^R Expand Only7!^R Expand !
m(m.m ^R Expand And Self-Insert) 
^R Expand And Call Old Charw!^R Expand !
 ff"E
m(m.m ^R Expand And Self-Insert) f'
f ^:m:Dispatch After Expand(q..0fs ^R Indirect)
^R Expand And Self-InsertH!^R Expand !
q..0[.0
0[.2
ff&1"N
oINSERT '
0,0a"B oINSERT'
1:<-fwx*[.1>"N oINSERT'
:i*Fundamental fo..qMODEu.2
:fo..qX .1 .2 Abbrevf"G u.2'
"# :fo..qX .1 * Abbrevf"G u.2'
"# oINSERT ''
q:..q(q.2+2)[.3
q.3fp-101"N :i:..q(q.2+2)1'
"# .(g.3)j .(\+1:\u:..q(q.2+2))j fq.3d'
-fq.1d
0,0a--"E
-1fo..qWord Abbrev Prefix Mark+1-."E
:i.1-.1
-d''
0fo..qLast Expansion QV[.6
q.6"E 4*5 fs qvector f(m.vLast Expansion QVw)u.6
q.2+3u.2'
.u:.6(1)
.[.4
g:..q(q.2+1)
.[.5
0,1 :g.1 u.3
.3-A+1"G
.3-Z-1"L
q.4j :fwl .-q.5"L 1 ^ fc'
fq.1-1,fq.1 :g.1 u.3
.3-A+1"G
.3-Z-1"L
:< 2:fwl .-q.5;
1^fc>''
''
q.1u:.6(0)
:i:.6(3)
q.5j
q.4,q.5 f
ff-1"G oUPDATE '
0fo..qAuto Fill Mode"E  oUPDATE '
0fo..qFill Columnf"e w fswidth-10'u.1
m.m^R Indent New Comment Line
q.5(:fx.5
)-q.4f<!OUT!
fshpos-q.1-2"l 1;'
<.-1,(0l.):fb "e f;OUT'
q.1-fshpos;>
.-q.4"L .u:.6(1)
.,q.4x:.6(3)
.u.4'
^f k
:fx.3
^mIw
:0L.,(:2Lg.3).f>
:l .(g.5)j
!UPDATE!

 q.4,.x:.6(2)
!INSERT!
q.0u..0
"E w 1 '
^m(q.0FS^RIndirectFS^Rinit) ^R Unexpand Last Word;z-.[.4
fn z-q.4j
0fo..qLast Expansion QV[.6
q.6"E FG ^ft
No last expansionw 1 '
 q:.6(0)[.1
q:.6(2)[.3
0,1 :g.1 [.2
.2--"E
1,fq.1 :g.1 u.1'
"# :i.2'
q:.6(1)[.5
1:<q.5j>"N zj'
fq.3f~.3"N FG ^ft
No last expansion w 1 '
 fq.3d
.,(g:.6(3)
g.2
g.1). f
:i*Fundamental fo..qMODEu.2
:fo..qX .1 .2 Abbrevf"G u.2'
"# :fo..qX .1 * Abbrevf"G u.2''
q:..q(q.2+2)[.3
.(g.3)j .(\-1:\u:..q(q.2+2))j fq.3d
1 
WORDABf :m(m.mWord Abbrev Mode)Word Abbrev Mode[.2[.3
 ff"E 1'"# 'u.3
q.3m.vWord Abbrev Modew
0fo..qWord Abbrev Hooku.2
q.2"N q.3 m.2 '
q.3"N
q.2"E
m.m^R Unexpand Last Word u:.x(U)
m.m^R Add Mode Word Abbrev u:.x()
m.m^R Add Global Word Abbrev u:.x(+)
m.m^R Expand Only u... w
m.m^R Word Abbrev Prefix Mark(!"!) u..' '
m(m.m& Set Mode Line)
'
q.3"E
q.2"E 0u:.x(U)
0u:.x() '
m(m.m& Set Mode Line)
'& Set Mode Line^QEditor Name[0
QMode[1
0FS^RINIT[2
QAutoarg Mode"NM.M^R AutoargU2'
Q2-Q0"NQ2U0Q2U1Q2U2Q2U3Q2U4Q2U5Q2U6Q2U7Q2U8Q2U9'
0 fo..qWord Abbrev Mode[4
QLISP ) Hack"N
  M.M^R LISP )U)'
:I.W
F~1LISP"E 0FO..QAtom Word Mode"N
    :I.W^''
QOverwrite ModeFS^RREPLACE
32FS^RINITU w
QAuto Fill Mode"N
  M.M^R Auto-Fill SpaceU w'
q4m(m.m& Set Word Abbrev Chars)
F~..J0-1-FQ0"N'
[3:I30 
0FO..QEditor Type[2
Q2"N:I332 '
:I33(1
QAuto Fill Mode"N
:I33 Fill'
QAuto Save Mode"N
:I33 Save'
"#QAuto Save Default"N
:I33 Save(off)''
q4"N :i33 Abbrev'
:I33) 
QBuffer Name[2:I33 2:  
QBuffer FileU2FQ2"G:I332 
QInhibit Write"L:I33(RO) ''
Q3U..J
Define Word Abbrevs<g(q..o(f[b bindw))
-:s

INACTIVE WORD ABBREV DEFINITIONS:

"L .,zk '
bj <:s;ric>
bj [.1 [.2 [.4
 < .-z;
   :s:; -d
0fx.1
^f 	k
0,1a-("E d :flfx.2 d'
"# :i.2*'
^f 	k
^f0123456789 fx.4
fq.4"E :i.40'
^f 	k
0,1a-34"N :i*BAD	No quote fs err
	     '
d i:i*
:l -^f 	k
0,0a-""N :i*BAD	No quote fs err'
-d
iM.VX .1 .2 Abbrevw
I M.CX .1 .2 Abbrev.4
l>
m( hx* )
List Word Abbrevst[.1 f[b bindw
m(m.m Insert Word Abbrevs)
 bj i
abbrev: (mode)  count   "expansion"


ht ft
Done.
  Insert Word AbbrevsF[.1[.2[.3[.4[.5
 q..ou.1
:fo..qX u.2
q.2"L -q.2u.2'
i

-l
fq..q/5-q.2/3(
q.2-1u.2
)< q:..Q(%.2)u.3
q:..Q(%.2)u.4
q:..Q(%.2)u.5
q.4fp"L oNEXT'
f~(0,2:g.3)X "N oNEXT'
f~(fq.3-7,fq.3:g.3) Abbrev"N oNEXT'
2,fq.3-7g.3
-s d i:	
1a-*"E d'"# i( :l i)'
9i g.5 i	" !'!
g.4 i"
	!'!
!NEXT! >
^R Add Mode Word Abbrev"L f ^:m(m.m^R Kill Mode Word Abbrev) '
:i*FUNDAMENTAL fo..qMODE [.1
f ^m(m.m & Add Word Abbrev).1.1 Abbrev
w 1 ^R Add Global Word Abbrevf"L f ^:m(m.m^R Kill Global Word Abbrev) '
f ^m(m.m & Add Word Abbrev)*Global Abbrev
w 1 & Add Word Abbrev@:i* [.2
[.3[.4[.5

 1:<fs ^R Mark+1f"G-1 u.3 1;'
"E .(:f(j)u.3)j 1;'
"N .(-fwl .u.3)j 1;'
>"N FG F*w 1 '
Q.3,. fx.3
m.m& Shorten String
m.m& Read Line
q.3mSu.4
1,mR for ".4": [.1 !''!
q.1"E 1 '
q.1u.4
fq.1< 0,1:g.4u.5
.5"B FG ^ft
Break chars not allowed in abbrev w 1 '
       1,fq.4:g.4u.4>
0fo..qX .1 .2 Abbrevu.4
q.4"N f=.3.4"N FG
q.4mSu.4
1,mRRedefine ".1" from ".4"? u.4 !''''!
q.4"E :i.4NO'
f~.4YES"N ^ftNot redefined. 1 ''
"# ^ftAlready so defined. 1 ''
q.3m.vX .1 .2 Abbrevw
m.cX .1 .2 Abbrev0
1 

 0fo..qAbbrev Auto Save Mode"N
0fo..qAbbrev Auto Save Count+1u.4
q.4-(20fo..qAbbrev Auto Save Delay)"G
0m.vAbbrev Auto Save Countw
	^ft
(Abbrev Auto Save) m(m.m Write Word Abbrev File)
'"# q.4m.vAbbrev Auto Save Countw''
 1 & Shorten Stringb[.3[.4[.5
fq.3-40"G
0,16:g.3u.4
fq.3-16,fq.3:g.3u.5
:i.4.4.....5'
"# q.3u.4'
q.4 ^R Word Abbrev Prefix Marko!^R Expand !
 ff"E
m(m.m ^R Expand And Self-Insert) f'
. m.vWord Abbrev Prefix Markw
 .,(i-). 
& Set Word Abbrev Chars[[.2[.4[.5[.6
:i*!~	@#;$%^&*()-=+[]\|:'`"{},<.>/? 
f[b bindw g.1
:i* fo..qUntouched By Word Abbrev u.1
< -fq.1;
0,1 :g.1 u.2
bj :s.2"L -d'
1,fq.1 :g.1 u.1 >
m.m^R Expand And Self-Insertu.4
m.m^R Expand And Call Old Charu.5
0fo..qDispatch After Expandf"E
128*5 fs qvector m.vDispatch After Expandw
qDispatch After Expand ' u.6
"N
bj
   
    < .-z;
1 fx.2
q.2 u.1
q.1 fp"L
q.4u.2'
"#
f~.1!^R Expand -12"N
q.5u.2
q.1u:.6(.2)''
>
    '
"#
bj
    < .-z;
1 fx.2
1<
q.2 fp"L 1;'
q:.6(.2)u.1
q.2-q.5"E
q.1fp"L .2 fs ^R Init u.2'
"# q.1u.2'
1;'
f~.2!^R Expand -12"E
.2 fs ^R Init u.2 1;'
>
>
128*5 fs qvector uDispatch After Expand
'
^R Kill Mode Word Abbrev:i*Fundamental fo..qMODE[.2
1, m(m.m & Read Line)Kill .2 Abbrev: [.1
q.1"E '
0fo..qX .1 .2 Abbrev"E
0fo..qX .1 * Abbrev"E
FG ^ft".1" is neither .2 mode nor global abbrev. !''!
	w 1 '
"# FG ^ft".1" is not a .2 mode abbrev, but is a global abbrev.
Kill it? !''!
	  1m(m.m& Yes Or No)"E ^ft Not killed. w 1 '
	  :i.2*''
m(m.m Kill Variable)X .1 .2 Abbrev
w 1 ^R Kill Global Word Abbrev61, m(m.m & Read Line)Kill Global Abbrev: [.1
q.1"E '
0fo..qX .1 * Abbrev"E
FG ^ft".1" is not a global abbrev. w 1  !''! '
 m(m.m Kill Variable)X .1 * Abbrev
w 1 Kill All Word Abbrevs@[.1[.2[.3
 q..q[..o zj
:f<!DONE! 15r
1<
0,2:g(.fs word)u.3
f~.3X f"N "L f;DONE'
1;'
.fs word u.3
.+5fs wordu.2
q.2fp"L 1;'
fq.3-7,fq.3 :g.3 u.3
f~.3 Abbrev"E 15d'
>
>
Edit Word Abbrevs^:i*| 1m.vAbort Edit Word Abbrevsw
fs ^R exitw |[.G
0m.vAbort Edit Word Abbrevsw
f[ b bindw
m(m.m Insert Word Abbrevs) bj
:i*Edit Word Abbrevs[..J

fsechodisw Cfsechodisw
0fo..qAbort Edit Word Abbrevs"E
m(m.m Kill All Word Abbrevs)
m(m.m Define Word Abbrevs)
^ftWord abbrevs redefined.
'
"# FG ^ftWord abbrevs NOT redefined.'
m(m.m Kill Variable)Abort Edit Word Abbrevs
Write Word Abbrev FileLf[ b bindw
 fs msname:f6[.1
:i*DSK:.1;WORDAB DEFNS fo..qLast Word Abbrev Filef[ d filew
 et
 fs d file m.vLast Word Abbrev Filew
 m(m.m Insert Word Abbrevs)
 1,m(m.m Write File)
Read Word Abbrev File>f[ b bindw
 fs msname:f6[.1
:i*DSK:.1;WORDAB DEFNS fo..qLast Word Abbrev Filef[ d filew
 et
 fs d file m.vLast Word Abbrev Filew
 er ^ y
m(m.m Define Word Abbrevs)
 Sort Word AbbrevsLbj < .-z;
.-(:l)."E k'"# l'>
: 
:l -2:s"$f"Lw
-fwl \'!'!
l

~FILENAME~
WORDAB~DOC~ ~FILENAME~CWord Abbrev Mode package.  Documentation in INFO under EMACS.
 ~DOC~ & Setup WORDAB LibraryS Run when WORDAB is loaded.  Calls a hook.
Calls $WORDAB SETUP HOOK$, if it exists.  That can do things like
    auto-loading a file of abbreviations.
~DOC~ ^R Expand OnlyB^R Expand last word, but insert nothing after it.
Calls ^R Expand And Self-Insert to do the expansion, since that is the
    usual (thus fast) case.  See documentation for that function.
%~DOC~ ^R Expand And Call Old Chara^R Expand last word, then run old char.
Old char is called by dispatching through $Dispatch After Expand$.
Explicit ARG inhibits expanding.
Calls ^R Expand And Self-Insert to do the expanding.  See its documentation.
#~DOC~ ^R Expand And Self-InsertS Expand last word if an abbrev, unless ARG.
ARG inhibits expansion, just inserting ARG copies of char that ran this.
A pre-comma ARG inhibits auto-filling.  (Since ^^M, e.g. is called by
    some to insert CRLF but not auto-fill.)
Say last word is "foo" and current mode is "ala":
If $X foo ala Abbrev$ (for current mode ala) exists, it has exp.
Else if $X foo * Abbrev$ exists (global abbrev), it contains expansion.
    (Thus any mode abbrev "foo" overrides a global abbrev "foo".)
If expansion occurs:
    If a hyphen to left of last word, and $Word Abbrev Prefix Mark$ points
	before it, then the hyphen is removed, gluing prefix to expansion.
If first letter of abbrev is capitalized, first letter of expansion will
    be capitalized too.
If first and last letter of abbrev is capitalized (e.g. all letters),
    all words of the expansion will be capitalized.
In fill mode, line may be broken.
The comment for the abbrev variable is a string-number that tells the
    number of times the abbrev has been used.
~DOC~ ^R Unexpand Last WordL^R Undo last expansion, leaving the abbrev.
If there was a prefix that was glued onto the expansion, it will be separated
    from the abbrev by a hyphen.
The abbrev's usage-count is decremented.
~DOC~ WORDAB5C MM WORDAB$$ is the same as MM Word Abbrev Mode$$.
I.e. Turn Word Abbrev Mode on or off.
No argument or non-zero argument turns the mode on,
0 argument turns the mode off.
~DOC~ Word Abbrev Mode
C Mode for expanding word-abbrevs.
No arg or non-zero arg sets the mode, $Word Abbrev Mode$.
0 arg clears the mode.
Runs $Word Abbrev Hook$ if any, with arg of new mode setting.  If none,
  it does:
    ^X ^A runs ^R Add Mode Word Abbrev,
    ^X +  runs ^R Add Global Word Abbrev,
    M-'   runs ^R Word Abbrev Prefix Mark,
    C-M-Space runs ^R Expand Only, and
    ^XU   runs ^R Unexpand Last Word.
Each of the following chars:
    ~@#;$%^&*()-_=+[]\|:'`"{},<.>/?, Space, Return, Tab, Excl
will run ^R Expand And Self-Insert, or ^R Expand And Call Old Character,
    unless it is a member of a string in $Untouched By Word Abbrev$.
~DOC~ & Set Mode LineS Set the ..J Mode to display options.
Sets up special characters for certain modes, e.g. auto-filling space.
This subr knows about Word Abbrev Mode.
~DOC~ Define Word AbbrevsBC Define word abbrevs from buffer.
Format of buffer:
<buf> ::= null | <defline> <CRLF> <buf>
<defline> ::= <abbrev> : <white> <optionals> <white> " <expansion> "
<optionals> ::= <optmode> <white> <optcount>
<optmode> ::= null | ( <mode> )
<optcount> ::= null | <number>
For now nothing else, no :s in <abbrev>.
<mode> is the name of a major mode (e.g. LISP), if abbrev is to be
    effective only in that mode.  It is ommitted if the abbrev is to be
    effective in all modes.
<number> is a usage-count for the abbrev -- i.e. how many times the
    abbrev has been used before.
<white> is any number (including 0) of spaces and tabs.
In addition to the above, if the buffer contains the string:
    <CRLF>^_<CRLF>INACTIVE WORD ABBREV DEFINITIONS: <CRLF><CRLF>
then every abbrev definition after that is ignored.
~DOC~ List Word AbbrevsaC List abbrevs and their expansions.
See documentation on Insert Word Abbrevs for details.
~DOC~ Insert Word AbbrevsC Insert abbrevs defined and their expansions.
Format is acceptable to MM Define Word Abbrevs$.
Global abbrev "ab" is defined by $X ab * Abbrev$ set to abbrev string.
Mode abbrev "ab" for mode "modenm" is defined by $X ab modenm Abbrev$
    set to abbrev string.
!~DOC~ ^R Add Mode Word Abbrev@^R Reads mode abbrev for words before point.
Negative ARG means to delete the word abbrev.  (If there is no such mode
    abbrev, but there is a global, it asks if it should kill the global.)
Positive ARG (>0) means expansion is last ARG words.
Zero ARG means expansion is between point and MARK.
If FS ^R Mark$ set, then for any ARG expansion between . and FS ^RMark$.
The abbrev is only effective when in the current mode (e.g. LISP).
#~DOC~ ^R Add Global Word Abbrevl^R Reads global abbrev for words before point.
Negative ARG means to delete the word abbrev,
    calls ^R Kill Global Word Abbrev.
Positive ARG (>0) means expansion is last ARG words.
Zero ARG means expansion is between point and MARK.
If FS ^R Mark$ set, then for any ARG expansion between . and FS ^RMark$.
The abbrev is effective in all major modes.
~DOC~ & Add Word AbbrevtS Reads an abbrev for words before point.
Stringarg1 is "*" for global abbrev, and space-modename for a mode abbrev,
    e.g. " TECO".
Stringarg2 is & Read Line prompt.
Calls & Read Line to read the abbrev.
ARG non-0 means expansion is last ARG words.
ARG 0 means expansion is between point and MARK.
If FS ^R Mark$ set, then for any ARG expansion between . and FS ^RMark$.
If the abbrev is already defined, user is asked if redefinition wanted.
The abbrev must not contain any break characters.
Abbrev variable is constructed: $X abbreviation <mode/*> Abbrev$.  It
    contains a string which is the expansion.
~DOC~ & Shorten StringPS Produce a short string, showing beginning/end.
ARG is a string pointer.
$~DOC~ ^R Word Abbrev Prefix Mark!^R Mark point as end of a prefix.
Expansion of the prefix may occur unless an ARG is given.
Sets $Word Abbrev Prefix Mark$ to point and inserts a hyphen.
!~DOC~ & Set Word Abbrev Chars!S Set text breaks to run expanders.
ARG is value of $Word Abbrev Mode$.
Chars in $Untouched by Word Abbrev$ are not changed.
Others:
    ~@#;$%^&*()-_=+[]\|:'`"{},<.>/?, Space, Return, Tab, Excl.
If they are builtin Teco functions, they run ^R Expand And Self-Insert.
If they are redefined, they will run ^R Expand And Call Old Char.
    This will first expand, then call the old definition for the char.
"~DOC~ ^R Kill Mode Word Abbrevg^R Causes mode abbrev typed to be expunged.
Same as ^R Add Mode Word Abbrev with a negative ARG.
$~DOC~ ^R Kill Global Word Abbrevk^R Causes global abbrev typed to be expunged.
Same as ^R Add Global Word Abbrev with a negative ARG.
~DOC~ Kill All Word Abbrevs>C No word abbrevs are defined after this.
For use in conjunction with editing what MM Insert Word Abbrevs$ inserts,
    and then after MM Kill All...$, doing MM Define Word Abbrevs$.
~DOC~ Edit Word AbbrevsTC Go into ^R mode, editing word abbrev definitions.
The buffer is initialized by MM Insert Word Abbrevs$.
^R mode is entered.  When exited normally, (e.g. by ^C^C) the buffer will
    be considered as new definitions of word abbrevs.  I.e. after ^C^C:
    1. MM Kill All Word Abbrevs$ is done, removing old abbrevs, then
    2. MM Define Word Abbrevs$ is done, defining abbrevs as edited.
^G will abort MM Edit Word Abbrevs, leaving word abbrevs untouched.
 ~DOC~ Write Word Abbrev FileC Write definitions of current word abbrevs.
String argument specifies filename.  Default is last used,
    initially set to WORDAB DEFNS.
The file written can be used by MM Read Word Abbrev File$ to set up
    the current abbrevs in another EMACS.
~DOC~ Read Word Abbrev FileKC Read definitions of word abbrevs and define.
String argument specifies filename.  Default is last used, initially set
    to WORDAB DEFNS.
A word abbrev definition file can be made by MM Write Word Abbrev File$.
Abbrevs are defined as specified by the file.  Note that the definitions
    are merged with the old ones.
~DOC~ Sort Word Abbrevs7C Sort a word abbrev list in the buffer by count.
~DIRECTORY~& Setup WORDAB Library
^R Expand Only
^R Expand And Call Old Char
^R Expand And Self-Insert
^R Unexpand Last Word
WORDAB
Word Abbrev Mode
& Set Mode Line
Define Word Abbrevs
List Word Abbrevs
Insert Word Abbrevs
^R Add Mode Word Abbrev
^R Add Global Word Abbrev
& Add Word Abbrev
& Shorten String
^R Word Abbrev Prefix Mark
& Set Word Abbrev Chars
^R Kill Mode Word Abbrev
^R Kill Global Word Abbrev
Kill All Word Abbrevs
Edit Word Abbrevs
Write Word Abbrev File
Read Word Abbrev File
Sort Word Abbrevs

~INVERT~[1 <Q1-1U1 Q1FP;> Q1
itali